import { getUserMenu } from '@api/user'
import { defineStore } from 'pinia'
import { useUserStore } from './useUserStore'
import { type IParent } from '@interface/user'

export const useMenuStore = defineStore('menuStore', {
  state(): { menu: IParent[] } {
    return {
      menu: []
    }
  },
  actions: {
    async getMenu() {
      // 传入权限编码
      const { data } = await getUserMenu(useUserStore().rolePerm)
      this.menu = data
    }
  },
  persist: {
    // 开启数据缓存
    enabled: true,
    strategies: [
      {
        // 默认使用的是 session
        storage: localStorage,
        // 要存储的值,如果不写,则默认缓存全部数据
        paths: ['menu']
      }
    ]
  }
})
